package com.maybach.core.ao;

import com.maybach.common.BizResult;
import com.maybach.common.enums.order.LogisticsStatusEnum;
import com.maybach.common.model.LogisticsCompanyDO;
import com.maybach.common.model.PartnerDO;
import com.maybach.core.form.logistics.LogisticsCompanyForm;
import com.maybach.core.form.logistics.LogisticsCompanyQueryForm;
import com.maybach.core.form.partner.PartnerForm;
import com.maybach.core.form.partner.PartnerQueryForm;
import com.maybach.util.query.support.PageResult;

import java.util.List;

/**
 * Created by weishuai on 16/2/23.
 */
public interface LogisiticsCompanyAO {

    /**
     * 分页查询partner
     *
     * @param query
     * @return
     */
    PageResult<LogisticsCompanyDO> queryLogisticsCompany(LogisticsCompanyQueryForm query);

    /**
     * 修改
     *
     * @param queryForm
     * @return
     */
    boolean updateLogisticsCompany(LogisticsCompanyForm queryForm);

    /**
     * 增加
     *
     * @param logisticsCompanyForm
     * @return
     */
    Long addLogisticsCompany(LogisticsCompanyForm logisticsCompanyForm);


    /**
     * 更新状态
     *
     * @param id
     * @param status
     * @return
     */
    BizResult updateStatus(Long id, Integer status);

    /**
     * 根据主键查询
     * @param id
     * @return
     */
    LogisticsCompanyForm getLogisticsCompanyFormById(Long id);


    List<LogisticsCompanyDO> getAllLogisticsCompany(LogisticsStatusEnum status);

}
